\section{前言}
技术人员设计程序的首要目的是用于技术人员沟通和交流，其次才是用于机器执行。程序的生命力在于用户使用，程序的成长在于后期的维护及根据用户需求更新和升级功能。如果你的程序只能由你来维护，当你离开这个程序时，你的程序也和你一起离开了，这将给公司和后来接手的技术人员带来巨大的痛苦和损失。\\
\\
为提高产品代码质量，指导嵌入式软件开发人员编写出简洁、可维护、可靠、可测试、高效、可移植的代码，编写了本规范。\\

\subsection{主要内容}
一. 为形成统一编程规范，从编码形式角度出发，本规范对格式与排版、注释、标示符命名等方面进行了详细阐述。\\
\\
二. 为编写出高质量嵌入式软件，从嵌入式软件安全及可靠性出发，本规范对由于C语言标准、C语言本身、C编译器及个人理解导致的潜在危险进行说明及规避。\\
\\
本规范适用于嵌入式软件的开发，也对其他嵌入式软件开发起一定的指导作用。\\
	
\subsection{规则术语介绍}
\textbf{原则}：编程时必须坚持的指导思想。\\
\textbf{规则}：编程时需要遵循的约定，分为强制和建议（强制是必须遵守的，建议是一般情况下需要遵守，但没有强制性）。\\
\textbf{说明}：对原则/规则进行必要的解释。\\
\textbf{实例}：对此原则/规则从正、反两个方面给出例子。\\
\textbf{材料}：扩展、延伸的阅读材料。\\

\subsection{规则形式}
\centerline{规则/原则<序号>(规则类型)：规则内容 [原始参考]}
\begin{enumerate}
\item 序号：每条规则都有一个序号，序号是按照章节目录的形式，从数字1开始。
\item 规则类型：“强制”或者是“建议”。
\item 规则内容：此条规则的具体内容。
\item 原始参考：指示了产生本条款或本组条款的可应用的主要来源。
\end{enumerate}

\subsection{C语言术语介绍}
\textbf{声明(declaration)}：指定了一个变量的标识符，用来描述变量的类型。声明，用于编译器(compiler)识别变量名所引用的实体。\\
\\
\textbf{定义(definition)}：是对声明的实现或者实例化。连接器(linker)需要它（定义）来引用内存实体。\\

\subsection{命名规则介绍}
\textbf{帕斯卡命名法}：帕斯卡名法就是当变量名或函式名是由一个或多个单词连结在一起，而构成的唯一识别字时，每一个单词的首字母都采用大写字母。 \\
\\
\textbf{小驼峰命名法}：驼峰命名法就是当变量名或函式名是由一个或多个单词连结在一起，而构成的唯一识别字时，第一个单词以小写字母开始，第二个单词的首字母大写或每一个单词的首字母都采用大写字母。\\
\\
\textbf{匈牙利命名法}：匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀，标识出变量的作用域、类型等。这样做的好处在于能增加程序的可读性，便于对程序的理解和维护。匈牙利命名法关键是：标识符的名字以一个或者多个小写字母开头作为前缀；前缀之后的是首字母大写的一个单词或多个单词组合，该单词要指明变量的用途（标识符名=属性+类型+对象描述）。